The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
An information handling system may process I/O read and/or write requests sent from one or more servers to store, write, or access data. Where multiple I/O requests are sent to the system, various methods may be used to manage the I/O requests. Some methods include using input/output operations per second (IOPS) or bandwidth limits. Another method looks to the number of I/O requests that have been sent to the system but not yet completed by the system—the queue depth—to manage I/O request processing. Traditional queue depth management schemes, however, are often based on integer increments. Specifically, a queue depth threshold may not increase or decrease by fractional amounts under traditional queue depth management methods, thus in some cases leading to an inability to alter the permitted queue depth in small percentage increments. For example, a queue depth threshold of 3 may only be increased or decreased by a minimum of 33%, or one integer, according to traditional queue depth management methods.
Thus, there is a need in the art for improved systems and methods for managing queue depth in fractionalized increments. Particularly, there is a need in the art for systems and methods for using fractionalized queue depth to increase efficiency among servers or applications, each with a large volume of I/O requests.